"""
一、创建对象的过程：
    c1 = Cat()
    自动完成以下这2件事
        A：为对象分配内存空间-->创建对象，开辟内存
        B：自动的执行__init__()

二、init()
    在python的任何一个类中，都有__init__(),只能有一个。
    在创建对象的时候，会自动调用__init__()。

    1.默认情况下，init()啥都没干
    2.使用init(),初始化实例变量。


实例变量：就是属于对象的属性
    实例：就是对象，类中的一个对象，也叫类中的一个实例。instance
    实例变量：对象的变量--->属性

类：类名，属性(名词：变量)，方法
"""


class Cat:
    pass


class People():
    def __new__(cls, *args, **kwargs):
        print('------new------')
        print(id(cls))
        print(cls)
        print(type(cls))
        # return super().__new__(cls, *args, **kwargs)
        # return None
        return Cat()

    def __init__(self):
        print('------init---------')
        print(id(self))
        print(self)
        print(type(self))


# p1 = People
p2 = People()
# print(p1)
p2.name = 'kak'
print(p2)


print()
